/*
 * Copyright (c) 1998, 2024 Oracle and/or its affiliates. All rights reserved.
 * Copyright (c) 1998, 2024 IBM Corporation and/or its affiliates. All rights reserved.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0,
 * or the Eclipse Distribution License v. 1.0 which is available at
 * http://www.eclipse.org/org/documents/edl-v10.php.
 *
 * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 */

// Contributors:
//     Oracle - initial API and implementation from Oracle TopLink
//     10/15/2010-2.2 Guy Pelletier
//       - 322008: Improve usability of additional criteria applied to queries at the session/EM
//     09/24/2014-2.6 Rick Curtis
//       - 443762 : Misc message cleanup.
package org.eclipse.persistence.exceptions.i18n;

import java.util.ListResourceBundle;

/**
 * INTERNAL:
 * English ResourceBundle for DescriptorException messages.
 * <p>
 * Creation date: (12/8/00 4:47:38 PM)
 * @author Rick Barkhouse
 */
public final class DescriptorExceptionResource extends ListResourceBundle {
    static final Object[][] contents = {
                                           { "1", "The attribute [{0}] is not declared as type ValueHolderInterface, but its mapping uses indirection." },
                                           { "2", "The attribute [{0}] is declared as type ValueHolderInterface, but its mapping does not use indirection." },
                                           { "6", "Attribute name is missing." },
                                           { "7", "The attribute [{0}] should be a type that implements {1}." },
                                           { "8", "The descriptor [{0}] has been set to use inheritance, but a class indicator field has not been defined. {2}When using inheritance, a class indicator field or class extraction method must be set. {2}Parent Descriptor: [{1}]" },
                                           { "9", "This mapping does not have a direct field name set." },
                                           { "10", "This mapping does not have a field name set." },
                                           { "11", "The foreign key information for this mapping is defined incorrectly." },
                                           { "12", "Descriptors must use an identity map in order to use the \"Check Cache\" existence checking option." },
                                           { "13", "The instance variable [{0}] in the object [{1}] is inaccessible." },
                                           { "14", "Problem in cloning the object [{0}].  The clone method [{1}] is not accessible." },
                                           { "15", "This class does not define a default constructor, which EclipseLink requires." },
                                           { "16", "The descriptor callback method [{0}], with parameter (DescriptorEvent), is inaccessible." },
                                           { "17", "Trying to access the method [{0}] on the object [{1}].  The underlying method is inaccessible." },
                                           { "18", "Illegal method access in a Transformation mapping using a ValueHolder." },
                                           { "19", "Illegal access while invoking the attribute method on a Transformation mapping.  The underlying method is inaccessible." },
                                           { "20", "The method [{0}] is inaccessible." },
                                           { "21", "Problem in extracting class from row [{0}].  The static method [{1}], with parameter (DatabaseRow), is not accessible." },
                                           { "22", "Problem in creating new instance.  The creation method [{0}] is not accessible." },
                                           { "23", "The descriptor callback method [{0}], with parameter (Session), is inaccessible." },
                                           { "24", "The instance variable [{0}] in the object [{1}] is inaccessible. {3}Argument: [{2}]" },
                                           { "25", "The method [{0}] with argument [{1}] is not accessible." },
                                           { "26", "Trying to get value for instance variable [{0}] of type [{1}] from the object [{2}].  The specified object is not an instance of the class or interface declaring the underlying field." },
                                           { "27", "Trying to invoke the method [{0}] on the object [{1}].  The number of actual and formal parameters differs, or an unwrapping conversion has failed." },
                                           { "28", "Illegal argument while instantiating a method-based proxy in a Transformation mapping." },
                                           { "29", "The number of actual and formal parameters differs, or an unwrapping conversion has failed." },
                                           { "30", "The number of actual and formal parameters differs for method [{0}], or an unwrapping conversion has failed." },
                                           { "31", "The number of actual and formal parameters for the descriptor callback method [{0}] differs, or an unwrapping conversion has failed." },
                                           { "32", "Trying to set value [{0}] for instance variable [{1}] of type [{2}] in the object.  The specified object is not an instance of the class or interface declaring the underlying field, or an unwrapping conversion has failed." },
                                           { "33", "Trying to invoke [{0}] on the object with the value [{1}].  The number of actual and formal parameters differs, or an unwrapping conversion has failed." },
                                           { "34", "This class does not define a public default constructor, or the constructor raised an exception." },
                                           { "35", "Invalid event." },
                                           { "36", "Invalid event code [{0}]." },
                                           { "37", "Invalid descriptor event code [{0}]." },
                                           { "38", "Identity map constructor failed because an invalid identity map was specified." },
                                           { "39", "This descriptor does not specify a Java class." },
                                           { "40", "Descriptor is missing for [{0}].  It was probably not added to the Session." },
                                           { "41", "A non-read-only mapping must be defined for the sequence number field." },
                                           { "43", "Missing class for indicator field value [{0}] of type [{1}]." },
                                           { "44", "Missing class indicator field from database row [{0}]." },
                                           { "45", "Missing mapping for field [{0}]." },
                                           { "46", "There should be one non-read-only mapping defined for the primary key field [{0}]." },
                                           { "47", "The multiple table primary key mapping must be specified when a custom multiple table join is used." },
                                           { "48", "Multiple writable mappings exist for the field [{0}].  Only one may be defined as writable, all others must be specified read-only." },
                                           { "49", "An attribute transformation method name is not specified for this mapping." },
                                           { "50", "A field name is not set for this mapping." },
                                           { "51", "No foreign keys have been specified for this mapping." },
                                           { "52", "No reference key has been specified for this mapping." },
                                           { "53", "The relation table name is not set for this mapping." },
                                           { "54", "There are no source relation keys specified for this mapping." },
                                           { "55", "The descriptor callback method [{0}] cannot be found.  It must take a Session or a DescriptorEvent as its argument." },
                                           { "56", "The method [{0}] with parameters (Record) or (Record, Session) is not found." },
                                           { "57", "Inaccessible constructor." },
                                           { "58", "The method [{0}] with parameters () or (Session) not found." },
                                           { "59", "The instance variable [{0}] is not defined in the domain class [{1}], or it is not accessible." },
                                           { "60", "The method [{0}] or [{1}] is not defined in the object [{2}]." },
                                           { "61", "The static class extraction method [{0}], with parameter (Record), does not exist, or is not accessible." },
                                           { "62", "The clone method [{0}], with no parameters, does not exist, or is not accessible." },
                                           { "63", "The instance creation method [{0}], with no parameters, does not exist, or is not accessible." },
                                           { "64", "No target foreign keys have been specified for this mapping." },
                                           { "65", "No target relation keys have been specified for this mapping." },
                                           { "66", "Could not deserialize object from byte array." },
                                           { "67", "Could not serialize object into byte array." },
                                           { "68", "The value of an aggregate in object [{0}] is null.  Null values not allowed for Aggregate mappings unless \"Allow Null\" is specified." },
                                           { "69", "A NullPointerException was thrown while extracting a value from the instance variable [{0}] in the object [{1}]." },
                                           { "70", "A NullPointerException was thrown while extracting a value through the method [{0}] in the object [{1}]." },
                                           { "71", "A NullPointerException was thrown while setting the value of the instance variable [{0}] to the value [{1}]." },
                                           { "72", "A NullPointerException was thrown while setting a value through the method [{0}] with argument [{1}]." },
                                           { "73", "Cannot find descriptor for parent class [{0}]." },
                                           { "74", "The primary key fields are not set for this descriptor." },
                                           { "75", "The reference class is not specified for this descriptor." },
                                           { "77", "The reference descriptor for [{0}] should be set to be an Aggregate descriptor." },
                                           { "78", "The reference field [{0}] for this mapping must exist in the reference table." },
                                           { "79", "The reference table is not specified for this mapping." },
                                           { "80", "The relation key field [{0}] for this mapping must exist in the relation table." },
                                           { "81", "The method [{0}] should return the type of the mapped attribute, not void." },
                                           { "82", "The descriptor callback method [{0}], with parameter (DescriptorEvent), is not accessible." },
                                           { "83", "The descriptor callback method [{0}], with parameter (Session), is not accessible." },
                                           { "84", "The method [{0}], with parameters (Record) or (Record, Session), is not accessible." },
                                           { "85", "The method [{0}], with parameters () or (Session), is not accessible." },
                                           { "86", "The instance variable [{0}] in the class [{1}] is not accessible." },
                                           { "87", "The methods [{0}], [{1}] in the object [{2}] are not accessible" },
                                           { "88", "The static class extraction method [{0}], with parameter (Record), is not accessible." },
                                           { "89", "The clone method [{0}], with no parameters, is not accessible." },
                                           { "90", "The instance creation method [{0}], with no parameters, is not accessible." },
                                           { "91", "To use sequence-generated IDs, both the \"Sequence Number Name\" and \"Sequence Number Field Name\" properties must be set for this descriptor." },
                                           { "92", "The size of the target''s primary key does not match the size of the foreign key." },
                                           { "93", "The table [{0}] is not present in this descriptor." },
                                           { "94", "Descriptors must have a table name defined." },
                                           { "96", "The number of target keys does not match the number of source keys." },
                                           { "97", "Problem cloning the object [{0}].  The clone method [{1}] triggered an exception." },
                                           { "98", "The underlying descriptor callback method [{0}], with parameter (DescriptorEvent), triggered an exception." },
                                           { "99", "The method [{0}] on the object [{1}] triggered an exception." },
                                           { "100", "A method has triggered an exception." },
                                           { "101", "The underlying method triggered an exception." },
                                           { "102", "The method [{0}] triggered an exception." },
                                           { "103", "Problem in extracting class from row [{0}], using static method [{1}], with parameter (DatabaseRow).  An exception was triggered." },
                                           { "104", "Problem in creating new instance using creation method [{0}].  The creation method triggered an exception." },
                                           { "105", "The underlying descriptor callback method [{0}], with parameter (Session), triggered an exception." },
                                           { "106", "The method [{0}] on the object is throwing an exception. {2}Argument: [{1}]" },
                                           { "108", "Cannot find value in class indicator mapping in parent descriptor [{0}]." },
                                           { "109", "This descriptor should not have a write lock field defined because it is a child descriptor. It inherits its parent descriptor''s write lock field." },
                                           { "110", "Descriptor is missing for class [{0}]." },
                                           { "111", "Multiple table primary key field names must be fully qualified." },
                                           { "112", "Only one table can be added by using setTableName(String). Use addTableName(String) to add multiple tables to a descriptor." },
                                           { "113", "The constructor was inaccessible." },
                                           { "114", "Problem in creating new instance using creation method [{0}].  The creation method is not accessible." },
                                           { "115", "No conversion value provided for the attribute [{0}]." },

    { "116", "No conversion value provided for the value [{0}] in field [{1}]." },

    { "118", "The object [{0}] must not have read-only mappings to its write lock fields." },
                                           { "119", "The object''s [{0}] mappings to its write lock fields must be read-only." },
                                           { "120", "The query key [{0}] is defined in the parent descriptor [{1}], but not in the child descriptor [{2}]." },
                                           { "122", "setExistenceCheck() with argument [{0}] is not understood." },
                                           { "125", "The mapping for the attribute [{0}] uses indirection, and so must be initialized to a new ValueHolder.  Currently the value is: [{1}]." },
                                           { "126", "No subclass matches this class [{0}] for this Aggregate mapping with inheritance." },
                                           { "127", "The get method for the attribute [{0}] does not return a ValueHolderInterface, but the mapping uses indirection." },
                                           { "128", "The get method for the attribute [{0}] returns a ValueHolderInterface, but the mapping does not use indirection." },
                                           { "129", "The set method for the attribute [{0}] does not take a ValueHolderInterface as its parameter, but the mapping uses indirection." },
                                           { "130", "The set method for the attribute [{0}] takes a ValueHolderInterface as its parameter, but the mapping does not use indirection." },
                                           { "131", "The get method for the attribute [{0}] should return a Vector (or a type that implements Map or Collection, if using Java 2)." },
                                           { "133", "The set method for the attribute [{0}] should take a Vector as its parameter (or a type that implements Map or Collection, if using Java 2)." },
                                           { "135", "The multiple table foreign key relationship refers to an unknown table [{0}]." },
                                           { "138", "The attribute [{0}] is of type [{1}] but the mapping uses transparent indirection (lazy loading), requiring it to be a superclass of [{2}]." },
                                           { "139", "The get method for the attribute [{0}] returns [{1}] but the mapping uses transparent indirection (lazy loading), requiring it to be a superclass of [{2}]." },
                                           { "140", "The set method for the attribute [{0}] takes [{1}] but the mapping uses transparent indirection (lazy loading), requiring it to be a superclass of [{2}]." },
                                           { "141", "The field [{0}] is not present in the table [{1}] in the database." },
                                           { "142", "The table [{0}] is not present in the database." },
                                           { "143", "The multiple table insert order Vector specified, [{0}], has more or fewer tables than are specified in the descriptor. {2}All of the tables [{1}] must be included in the insert order Vector." },
                                           { "144", "Transparent indirection can only be used with CollectionMappings." },
                                           { "145", "The indirect container class [{0}] must implement the constructor [{1}] with parameter (ValueHolderInterface)." },
                                           { "146", "The indirect container class [{0}] could not be instantiated using the constructor {1}(ValueHolderInterface)." },
                                           { "147", "The container policy [{0}] should only be used in JDK 1.1.x.  It was instantiated for [{1}]." },
                                           { "148", "The container policy [{0}] is not compatible with transparent indirection." },
                                           { "149", "NoIndirectionPolicy objects should not receive this message." },
                                           { "150", "The mapping for the attribute [{0}] uses transparent indirection so the attribute [{0}] must be initialized to an appropriate container.  Currently the value is [{1}]. {2} -  Must be instance of an implementor of Collection or Map." },
                                           { "151", "The operation [{0}] is invalid for this mapping." },
                                           { "152", "The operation [{1}] is invalid for this indirection policy [{0}]." },
                                           { "153", "The reference descriptor for [{0}] should be set to be an Aggregate Collection descriptor." },
                                           { "154", "The indirection container class [{0}] does not implement IndirectContainer." },
                                           { "155", "This mapping does not include a foreign key field linked to the primary key field [{0}]." },
                                           { "156", "The structure name is not set for this mapping." },
                                           { "157", "Normal descriptors do not support non-relational extensions." },
                                           { "158", "This descriptor''s parent class has been set to itself." },
                                           { "159", "Proxy indirection is available only in JDK 1.3-compliant or higher virtual machines." },
                                           { "160", "The attribute [{0}] of class [{1}] is typed as [{2}], which was not specified in the list of interfaces given to the useProxyIndirection() method. {4}Valid interfaces are: [{3}]." },
                                           { "161", "The method [{0}] in class [{1}] returns a value of type [{2}], which was not specified in the list of interfaces given to the useProxyIndirection() method. {4}Valid interfaces are: [{3}]." },
                                           { "162", "The method [{0}] in class [{1}] takes a parameter of type [{2}], which was not specified in the list of interfaces given to the useProxyIndirection() method.{4}Valid interfaces are: [{3}]." },
                                           { "163", "This mapping''s attribute class does not match the collection class.  [{1}] cannot be assigned to [{0}]." },
                                           { "164", "The amendment method [{1}], in amendment class [{0}], is invalid, not public, or cannot be found. {2}Descriptor amendment methods must be declared \"public static void\" with (ClassDescriptor) as the single parameter." },
                                           { "165", "This descriptor''s amendment method [{1}] in amendment class [{0}] triggered an exception." },
                                           { "166", "There is no mapping for the attribute [{0}]." },
                                           { "167", "A valid constructor was not found for the indirection container class [{0}]." },
                                           { "168", "Problem in creating new instance using the default constructor.  The default constructor triggered an exception." },
                                           { "169", "Problem in creating new instance of factory using the default constructor.  The default constructor triggered an exception." },
                                           { "170", "Problem (illegal access) in creating new instance of factory using the default constructor." },
                                           { "171", "The factory class does not define a public default constructor, or the constructor raised an exception." },
                                           { "172", "Factory constructor not found." },
                                           { "173", "The factory constructor was inaccessible." },
                                           { "174", "Problem in creating factory.  The creation method [{0}] is not accessible." },
                                           { "175", "Problem creating factory using creation method [{0}].  The creation method triggered an exception." },
                                           { "176", "Problem in creating factory using creation method [{0}].  The creation method is not accessible." },
                                           { "177", "Mapping is missing for the attribute: [{0}]." },
                                           { "178", "Cannot find mapping for attribute [{0}] in entity bean [{1}]. The attribute must mapped." },
                                           { "179", "The attribute, [{0}] uses Bidirectional Relationship Maintenance, but has ContainerPolicy, [{1}] which does not support it.  The attribute should be mapped with a different collection type." },
                                           { "181", "The AttributeTransformer class, [{0}] cannot be found." },
                                           { "182", "The FieldTransformer class, [{0}] cannot be found." },
                                           { "183", "The class, [{0}] cannot be used as an AttributeTransformer." },
                                           { "184", "The class, [{0}] cannot be used as a FieldTransformer." },
                                           { "185", "ReturningPolicy contains field, [{0}] with two different types: [{1}] and [{2}]." },
                                           { "186", "ReturningPolicy contains field, [{0}] added twice: using addInsertField and addInsertFieldReturnOnly." },
                                           { "187", "ReturningPolicy contains field, [{0}] with type [{1}], but the same field in descriptor has type [{2}]." },
                                           { "188", "ReturningPolicy contains unmapped field, [{0}] which requires type." },
                                           { "189", "ReturningPolicy contains mapped field, [{0}] which requires type." },
                                           { "190", "ReturningPolicy contains field, [{0}] mapped with [{1}] mapping which is not supported." },
                                           { "191", "ReturningPolicy contains field, [{0}] which is not supported: it is either sequence field, or class type indicator, or used for locking." },
                                           { "192", "ReturningPolicy contains field, [{0}] but custom [{1}] does not output it." },
                                           { "193", "There is no custom [{0}] set, but ReturningPolicy contains field(s) to be returned and [{1}] does not support generating call with returning." },
                                           { "194", "The class extraction method [{0}], must be a static method on the descriptor''s class." },
                                           { "195", "The shared class {1} must not reference the isolated class {0}." },
                                           { "196", "UpdateAllFields has not been set or has been set to false.  When using CMPPolicy.setForceUpdate(true) you must also call CMPPolicy.setUpdateAllFields(true)" },
                                           { "197", "The mapping [{0}] is not the appropriate type for this descriptor" },
                                           { "198", "In order to use ObjectChangeTrackingPolicy or AttributeChangeTrackingPolicy, {0} has to implement ChangeTracker interface." },
                                           { "199", "In order to use Fetch Group, the domain class ({0}) has to implement FetchGroupTracker interface." },
                                           { "200", "Attempt to register an object with dead indirection as a new object.  Possibly the object was deleted or removed from the cache during a merge of a serialized clone.  This is a concurrency violation, consider a locking strategy." },
                                           { "201", "An object was attempted to be built in the session cache, but the descriptor is marked as isolated in the unit of work, so should never be accessed outside of a unit of work." },
                                           { "202", "An internal error occurred accessing the primary key object [{0}]." },
                                           { "203", "An internal error occurred while accessing method [{1}] on class [{0}]." },
                                           { "204", "Insert table order contradicts to multiple tables foreign keys - according to the latter table [{0}] shouild be inserted before table [{1}]." },
                                           { "205", "Insert table order has cyclical dependency between tables [{0}] and [{1}]." },
                                           { "206", "Insert table order has cyclical dependency between three or more tables." },
                                           { "207", "Insert table order is wrong: table [{0}] mapped to parent is specified to be inserted after table [{1}] mapped to child." },
                                           { "208", "You are trying to set a Converter with class name [{1}] on a non-direct-mapping [{0}].  Only Direct Mappings are allowed to have converters.  This usually happens when trying to set a key converter on a DirectMapMapping with a non-direct key." },
                                           { "209", "This descriptor contains a mapping with a DirectMapMapping and no key field set." },
                                           { "210", "[{0}] has list order field set, but attribute does not implement List." },
                                           { "211", "[{0}] has list order field set and list order field validation mode is CORRECTION, that requires IndirectList to be assignable to the attribute." },
                                           { "212", "List order field specified for [{0}] has a wrong table [{1}]. Must use {2} instead." },
                                           { "213", "{0} requires all target foreign key fields to belong to the same table, but several were found: {1}." },
                                           { "214", "{0} specifies relation table, that is not compatible with addForeignKey(Name) method, or use addSourceRelationKeyField(Name) and addTargetRelationKeyFieldName methods instead."},
                                           { "215", "{0} must have non-null RelationTableMechanism."},
                                           { "216", "CacheKeyType cannot be ID_VALUE for a composite primary key.."},
                                           { "217", "Invalid XPath for XMLDirectMapping/XMLCompositeDirectCollectionMapping. XPath must either contain an @ symbol for attributes or end in /text() for text nodes. For example: \"@name\" or \"name/text()\""},
                                           // 323148
                                           { "218", "A NullPointerException would have occurred accessing a non-existent weaved _vh_ method [{0}].  The class was not weaved properly - for EE deployments, check the module order in the application.xml deployment descriptor and verify that the module containing the persistence unit is ahead of any other module that uses it."},
                                           { "219", "The additional criteria from [{1}] is not allowed within an inheritance hierarchy using views."},
                                           { "220", "Missing partitioning policy for name [{0}]."},
                                           { "221", "SerializedObjectPolicy field is not set."},
                                           { "222", "An exception was thrown when trying to get a primary key class instance."}

    };

    /**
     * Default constructor.
     */
    public DescriptorExceptionResource() {
        // for reflection
    }

    /**
     * Return the lookup table.
     */
    @Override
    protected Object[][] getContents() {
        return contents;
    }
}
